/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package be.ugent.medirem.persistence.facade;

import be.ugent.medirem.persistence.entity.details.ConsultationDetails;
import be.ugent.medirem.persistence.entity.values.ConsultationValues;
import java.util.List;
import javax.ejb.Local;
import javax.persistence.EntityNotFoundException;

/**
 *
 * @author Simon
 */
@Local
public interface ConsultationDaoLocal {


    Long create(ConsultationValues c) throws EntityNotFoundException, IllegalArgumentException;

    ConsultationDetails getDetails(Long id) throws IllegalArgumentException, EntityNotFoundException;

    List<ConsultationDetails> getGpConsultations(Long gpId) throws IllegalArgumentException, EntityNotFoundException;

    List<ConsultationDetails> getPatientConsultations(Long patientId) throws IllegalArgumentException, EntityNotFoundException;

    ConsultationDetails getNextConsultation(Long gpId, Long patientId) throws EntityNotFoundException, IllegalArgumentException;
    
    ConsultationDetails getPreviousConsultation(Long gpId, Long patientId) throws EntityNotFoundException, IllegalArgumentException;
    
}
